The present invention is in the area of apparatus and methods including software for providing data from data sources over wide-area networks such as the Internet to end users, with the data tailored to the needs of the end users.
There are many motivations to computer development, depending largely on targeted customer groups. For example, a certified public accountant needs to run applications having to do with accounting, taxes, financial planning, and the like, while a fiction writer may wish only to use a computer as a word processor. In short, the kind of system and the sorts of software different people might choose to own or use may be vastly different from the selections others might make. These preferences divide the purchasing public into definable, often overlapping customer bases. Manufacturers plan research and development to produce products that appeal to these targeted customer bases. These trends and the ever-increasing power, modularity, and applicability of computer devices has led to an ever-growing body of specialized, computerized devices in the marketplace which are typically termed in the art computer appliances. A WEB TV apparatus, for example, is a computerized appliance. Pagers and Smart telephones are other examples. There are many, many more.
Even with the considerable differences in needs between different consumer groups, there are still many commonly desirable traits in development of computers of all sorts and computerized appliances. For example, regardless of the ultimate functionality of a particular sort of computer or appliance, a low cost to manufacture is a desirable characteristic. Another often desirable characteristic is portability. There are advantages to being able to easily move one""s computing tools and appliances from place to place, and even greater advantages to having some computers and appliances small enough to carry in a pocket or purse.
Even though portability and small size is generally desirable, power and functionality are always desirable as well, and these characteristics are competitive. Conventionally and historically one pays a power and functionality penalty for small size and portability.
One of the penalties typically paid is functionality as related to battery life. That is, if one uses a powerful and fast CPU in a portable computer or computerized appliance, the size of the battery must typically be quite large, and life between charges will typically be relatively short. For example, it can be shown in general that 100 grams of battery weight, fully charged, will power about 5xc3x97108 computer instructions. It is to be understood that this is a general figure simply for illustrative purposes, and may vary for different CPUs, types of batteries, and the like.
Given the figure above relating battery weight to a number of computer instructions for illustrative purposes, if a portable computer or appliance is to be provided with ability to execute relatively high-overhead applications, such as HTML files in Internet applications, the CPU for the portable computer will have to operate at 1 to 2 MIPS (million instructions per second). Assuming 1 MIPS, a battery weight of 100 g. will discharge in about 8 minutes. A five hundred gram (a little over one pound) battery will provide a life between charges of about 41 minutes.
It is seen, then, that as applications and desired functions for personal computers become more sophisticated, it becomes ever more difficult to provide theses applications and functions for small, personal, battery-powered computers and appliances.
There are some ways that battery life may be extended or optimized. For example, power-management techniques may extend battery life by 1.5 times, use of low-power integrated circuit technology can add another factor of 1.5, sophisticated electrical storage technology another 1.5, and solar recharge perhaps another 1.2. The net multiplier, using every means of help is about 5, so a 500 g battery may then power such a computer or appliance for about three hours. Five hours is still a relatively short battery lifetime, so sophisticated operations for small, portable computers and appliances, such as World Wide Web (WWW) browsing on the Internet, are not, until the time of the present invention, very practical.
Of course, battery size and life is not the only characteristic of concern. Generally speaking, any development in data transfer that can increase functionality for data network-connected portable computers and appliances will also impact, in some manner, all data-network dependent devices, such as personal PCs having Internet access.
Further to the above discussion, as the global network of connected databases known as the World Wide Web continues to grow, social and political concerns grow as well. Many are concerned that the expense and complexity of end-use computers sand appliance suitable for WEB-connected functionality is a formidable barrier to increased information access by disadvantaged millions, for which WEB access may be seen as a tool for empowerment and social and political advancement. Generally speaking, then, formidable improvement in data exchange between digital data network-connected data sources and end use computers and appliances promises significant benefits for large populations.
What is clearly needed are apparatus and methods, including software, whereby functionality of digital network-connected and dependent devices, such as computers and computerized appliances, may be maintained and even significantly enhanced while greatly reducing the aggregate data traffic between data sources and the dependent computers and appliances.
In a preferred embodiment of the invention, in a WEB browsing system a method is provided for minimizing data to be transmitted to a client device from a Web server, comprising steps of (a) creating a listing of parameters derived from one or more of characteristics of the client device, characteristics of a WEB page, and preferences of a customer using the client device; (b) storing the parameters as a template at the Web server; (c) accessing a WEB page requested by the customer; (d) translating the WEB data according to the template; and (e) transmitting the translated data to the client device. The parameters may include details of a display used by the client device.
In another preferred embodiment a software template is provided for use in translating WEB data to a reduced-data form to be transmitted to a client device from a WEB server. The template comprises one or more parameters derived from characteristics of the client device; and control routines adapted for applying the parameters in translating data from a WEB page for transmission to the client device. The template may further have one or both of parameters derived from characteristics of a WEB page and customer preferences. One of the parameters may be derived from characteristics of a display used by the client device.
In another aspect of the invention, in a WEB browsing system using templates listing parameters derived from one or more of characteristics of a client device, characteristics of a WEB page, and customer preferences in reducing data content of files to be transmitted to the client device, a template editor is provided, comprising a client interface for displaying characteristics of the template; and tools for altering the characteristics. In some embodiments the editor executes on the client device, and in others on a WEB server as a part of a WEB page, wherein the editor is adapted for manipulation by a client accessing the WEB page.
In another aspect, in a WEB browsing system, a Mark-Script for use by a WEB server hosting a customer operating a client device is provided, the Mark-Script comprising a list of Web pages to be accessed on behalf of the client; and control routines adapted for accessing the WEB pages one-after-another and storing the contents at the WEB server for transmission on demand to the client device. The Mark-Script may be adapted for executing a refresh process on. signal from the client device, wherein the refresh process comprises refreshing a current WEB page being perused by the client device and also refreshing all pre-fetched and stored WEB pages according to the list of WEB pages.
In another aspect a method for WEB browsing by a client device is provided, comprising steps of (a) preparing a Mark-Script comprising a list of Web pages to be accessed on behalf of the client device, and control routines adapted for accessing the WEB pages one-after-another and storing the contents at the WEB server for transmission on demand to the client device; (b) accessing the WEB server by the client device and initiating execution of the Mark-Script; and (c) interacting with WEB pages transmitted by the WEB server to the client device according to the list. In this method there may be a step for refreshing WEB pages retrieved and stored for a client on signal from the client.
In another aspect a method for sequential browsing by a server on behalf of a client device is provided, comprising steps of: (a) accessing a Mark-Script stored at the server and associated with the client device, the Mark-Script listing a sequence of WEB pages to be accessed for the client; (b) accessing the listed WEB pages and storing the retrieved data at the server; and (c) transmitting the stored pages to the client device on demand. There may further be a step for refreshing current and stored, pre-fetched WEB pages on signal from the client. There may also be a step for reducing content of pre-fetched WEB pages before transmission to the client device, by consulting parameters based on characteristics of the client device. There may further a step for passing through to a client a request initiated by a pre-fetched page not yet transmitted to the client, either during or after pre-fetch. Such requests may typically be for identification or security verification.
In another aspect a system for Internet browsing is provided, comprising a host computer connected to one or more peripheral devices and to the Internet; and a WEB server adapted for browsing the Internet for the host. The WEB server fetches WEB pages for the host computer and reduces data content before transmission to the host based on characteristics of one of the peripheral devices connected to the host. In this system the WEB server may also follow a script furnished by the host computer for pre-fetching WEB pages and storing them at the WEB server for transmission to the host computer on demand.
In another aspect a system for Internet browsing comprising a client device connected to a WEB server adapted to browse legacy system sites on the client""s behalf is provided, the system comprising a source-side template adapted for converting data requested by the WEB server to an Hyper Text Markup Protocol (HTML) before transmission to the WEB server; and a client-side template adapted for reducing data content of the data at the Web site according to characteristics supplied by the client device before transmission of the data to the client device.
In the several embodiments of the invention systems and methods are provided enhancing access and transmission of data from remote data sources and providing the data to client devices in a manner maximizing data transfer efficiency beyond what is available in the art.